package com.jackie.easyble.ui.activities

import android.content.Intent
import android.os.Bundle
import android.view.View
import com.jackie.easyble.R
import com.jackie.easyble.databinding.ActivitySearchAndConnectBinding
import com.jackie.easyble.ui.activities.search.MultiDeviceScanActivity
import com.jackie.easyble.ui.activities.search.SingleDeviceScanActivity
import com.sscl.baselibrary.activity.BaseDataBindingAppCompatActivity

/**
 *  搜索与连接界面
 */
class SearchAndConnectActivity :
    BaseDataBindingAppCompatActivity<ActivitySearchAndConnectBinding>() {

    /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * 属性声明
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

    /* * * * * * * * * * * * * * * * * * * 常量属性 * * * * * * * * * * * * * * * * * * */

    /**
     * 点击事件的处理
     */
    private val onClickListener = View.OnClickListener {
        when (it) {
            binding.singleDeviceSearchAndConnectBtn -> {
                startActivity(Intent(this, SingleDeviceScanActivity::class.java))
            }

            binding.multiDeviceSearchAndConnectBtn -> {
                startActivity(Intent(this, MultiDeviceScanActivity::class.java))
            }
        }
    }

    /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * 实现方法
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

    /**
     * 设置布局
     */
    override fun setLayout(): Int {
        return R.layout.activity_search_and_connect
    }

    /**
     * 标题栏的返回按钮被按下的时候回调此方法
     */
    override fun titleBackClicked(): Boolean {
        return false
    }

    /**
     * 在设置布局之前需要进行的操作
     */
    override fun doBeforeSetLayout() {

    }

    /**
     * 设置DataBinding
     * 可在此处设置binding的viewModel或观察者等操作
     */
    override fun setBinding() {

    }

    /**
     * 在设置布局之后，进行其他操作之前，所需要初始化的数据
     */
    override fun doBeforeInitOthers() {
        setTitleText(R.string.search_and_connect)
    }

    /**
     * 初始化控件数据
     */
    override fun initViewData(savedInstanceState: Bundle?) {

    }

    /**
     * 初始化其他数据
     */
    override fun initOtherData() {

    }

    /**
     * 初始化事件
     */
    override fun initEvents() {
        binding.singleDeviceSearchAndConnectBtn.setOnClickListener(onClickListener)
        binding.multiDeviceSearchAndConnectBtn.setOnClickListener(onClickListener)
    }

    /**
     * 在最后进行的操作
     */
    override fun doAfterAll() {

    }
}